package Negocio;

import java.sql.Date;



/**
 * @author Diego
 * @version 1.0
 * @created 28-sep-2013 21:39:12 p.m.
 * Representa las distintas funciones que cumplio el empleado a lo largo de su 
 * actividad en la empresa
 */
public class Rol {

	private Integer idRol;       	
        private Personal unPersonal;
        private TipoRol unTipoRol;
        private Date desde;
	private Date hasta;

    //Constructores
    public Rol() {
    }

    public Rol(Personal unPersonal, TipoRol unTipoRol, Date desde, Date hasta) {        
        this.unPersonal = unPersonal;
        this.unTipoRol = unTipoRol;
        this.desde = desde;
        this.hasta = hasta;
        Empresa.persistencia.insert(this);
    }

    public Integer getIdRol() {
        return idRol;
    }

    public void setIdRol(Integer idRol) {
        this.idRol = idRol;
    }

    public Personal getUnPersonal() {
        return unPersonal;
    }

    public void setUnPersonal(Personal unPersonal) {
        this.unPersonal = unPersonal;
    }

    public TipoRol getUnTipoRol() {
        return unTipoRol;
    }

    public void setUnTipoRol(TipoRol unTipoRol) {
        this.unTipoRol = unTipoRol;
    }

    public Date getDesde() {
        return desde;
    }

    public void setDesde(Date desde) {
        this.desde = desde;
    }

    public Date getHasta() {
        return hasta;
    }

    public void setHasta(Date hasta) {
        this.hasta = hasta;
    }
        
        
        //Metodos
        public boolean isActivo(){
            boolean retorno = true;
            if(this.hasta == null){
                retorno = false;
            }
            return retorno;
        }
        
        public void ponerFecha(Date hasta){
            this.hasta = hasta;
            Empresa.persistencia.update(this);
        }
        
        public void modificar(Date desde,Date hata){
            this.desde = desde;
            this.hasta = hasta;
            Empresa.persistencia.update(this);
        }
        public void borrar(){
            this.unTipoRol.quitarRol(this);
            Empresa.persistencia.delete(this);
            
        }
        
        public void actualizar(Date desde,Date hasta){
            this.desde = desde;
            this.hasta = hasta;
            Empresa.persistencia.update(this);
        }
        
        public String toString(){
            return this.unTipoRol.getNombre() + " " + Empresa.miUtilidadDeFechas.fechaAr(desde) + " " + Empresa.miUtilidadDeFechas.fechaAr(hasta);
        }



}